home *** CD-ROM | disk | FTP | other *** search
-
- *********************************************************
- * *
- * PISTOL-Portably Implemented Stack Oriented Language *
- * Version 2.0 *
- * (C) 1983 by Ernest E. Bergmann *
- * Physics, Building #16 *
- * Lehigh Univerisity *
- * Bethlehem, Pa. 18015 *
- * *
- * Permission is hereby granted for all reproduction and *
- * distribution of this material provided this notice is *
- * included. *
- * *
- *********************************************************
-
- α ñB (*********************************************************)
- (* *)
- (* PISTOL-Portably Implemented Stack Oriented Language *)
- (* Version 2.0 *)
- (* (C) 1983 by Ernest E. Bergmann *)
- (* Physics, Building #16 *)
- (* Lehigh Univerisity *)
- (* Bethlehem, Pa. 18015 *)
- (* *)
- (* Permission is hereby granted for all reproduction and *)
- (* distribution of this material provided this notice is *)
- (* included. *)
- (* *)
- (*********************************************************)
-
- PROGRAM PISTOL(INPUT:/);
- (*SEP 7, 1982: DOTDOT *)
- (* SEP 4:CRDMP,INIT,MININT *)
- (* AUG 30:FIX OF TTYI FOR LINE ORIENTATION *)
- (*$C- JULY 19.., 1982 -> VER2.0;USER->USR *)
- (* JULY 13: CHANGED MOVE,FENTER;DEFINED NEWLINE *)
- (* JULY 12: REMOVED SCRATCH -10..-8;DEFINED FNAME *)
- (* JULY 8: VFIND MADE PRIMITIVE;PREV -.>USR+W*6 *)
- (*JULY 5,82:FIND,VFIND REDEFINED*)
- (*JUNE 28,82: POP ADDED*)
- (*JUNE 17,82: KRNQ->PRMQ ; KERNEL?->PRIMITIVE? *)
-
- (*DECEMBER 22, 1981 --FOR BEST PERFORMANCE IN PASCAL,
- THIS PROGRAM SHOULD BE EDITED TO MAKE FULL USE
- OF THE OPTIONS, USR=0,W=1,S=1,CSTEP=1,L=1,R=1
- AND STRINGSMIN=-1 *)
-
- LABEL 99;
- CONST
- VERSION=20;(*10* THE VERSION NUMBER,READABLE BY USER*)
- USR=0;(*DISPLACEMENT FOR USER'S RAM AREA; IT SHOULD
- BE CHANGED TO SIMPLIFY ADDRESS CALCULATION IN
- ASSEMBLY CODE IMPLEMENTATIONS*)
- W=1;(*RAM ADDRESS INCREMENT SIZE; TYPICALLY WOULD BE
- 2 OR 4 FOR 8-BIT MICROS AND OTHER BYTE ADDRESSABLE
- MACHINES*)
- R=1;(*INCREMENT SIZE FOR RSTACK,HIDDEN FROM USER*)
- S=1;(*INCREMENT SIZE FOR (PARAMETER) STACK,HIDDEN*)
- STACKMIN=0;(*WHATEVER IS CONVENIENT,HIDDEN FROM USER*)
- MSTACKMIN=-3;(*STACKMIN-S*3*)
- PSTACKMAX=203;(*STACKMAX+S*3*)
- STACKMAX=200;(*STACKMIN+SSIZE*S*)
- LSTACKMIN=0;(*WHATEVER IS CONVENIENT,HIDDEN FROM USER*)
- L=1;(*LSTACK INCREMENT,HIDDEN FROM USER*)
- LSTACKMAX=30;(*LSTACKMIN+LSIZE*L*)
- CSTACKMIN=0;(*WHATEVER IS CONVENIENT*)
- CSTEP=1;(*CSTACK INCREMENT*)
- CSTACKMAX=30;(*CSTACKMIN+CSIZE*CSTEP*)
- NUMINSTR=73;
- RAMMIN=-21(*USR-W*21,OR LOWER,READABLE*);